import { defineNuxtRouteMiddleware } from '#app'

export default defineNuxtRouteMiddleware(async (to: any, from: any) => {
  // 仅在客户端执行，用于 SPA 内部导航的埋点
  if (process.server) return

  // 避免在初始页面加载时重复记录（初始加载在服务端已经记录）
  if (!from || !from.fullPath) return

  try {
    // 发起一个不会阻塞导航的异步请求
    void fetch('/api/access-log', {
      method: 'POST',
      headers: { 'content-type': 'application/json' },
      body: JSON.stringify({ path: to.fullPath }),
    })
  } catch (e) {
    // 忽略错误，不影响路由
  }
})
